home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 41
/
Amiga Format CD41 (1999-06)(Future Publishing)(GB)[!][issue 1999-07].iso
/
-seriously_amiga-
/
programming
/
other
/
sounddt41src
/
classbase.h
< prev
next >
Wrap
C/C++ Source or Header
|
1999-04-19
|
3KB
|
122 lines
#ifndef DATATYPES_SOUNDCLASS_H
#include <datatypes/soundclass.h>
#endif
/****************************************************************************/
struct ClassBase
{
/* std library stuff */
struct Library LibNode;
UWORD pad_word;
BPTR LibSegment;
struct SignalSemaphore cb_LibLock;
/* library bases */
#ifndef __MAXON__
struct Library *cb_IntuitionBase;
struct Library *cb_GfxBase;
struct Library *cb_SysBase;
struct Library *cb_DOSBase;
struct Library *cb_UtilityBase;
struct Library *cb_DataTypesBase;
struct Library *cb_IFFParseBase;
struct Library *cb_TapeDeckBase;
#endif
Class *cb_Class;
ULONG *cb_Methods;
/* prefs */
BOOL cb_AIFF;
BOOL cb_AHI;
ULONG cb_AHIModeID;
ULONG cb_AHIMixFrequency;
UWORD cb_NomWidth;
UWORD cb_NomHeight;
ULONG cb_WfCol[3];
ULONG cb_BgCol[3];
BOOL cb_Compress;
BOOL cb_ForceAHIMode;
ULONG cb_BufferSize;
UWORD cb_Volume;
BOOL cb_ControlPanel;
BOOL cb_NoGTSlider;
};
/****************************************************************************/
struct InstanceData
{
struct ClassBase *ClassBase;
struct SignalSemaphore Lock;
/* v39 tags */
struct VoiceHeader VoiceHeader;
BYTE *Sample;
ULONG SampleLength;
UWORD Frequency;
UWORD Volume;
UWORD Cycles;
/* v40 tags */
UWORD Continuous;
struct Task *SignalTask;
BYTE SignalBit;
/* v41 tags */
UBYTE SampleType;
ULONG Panning;
/* additional tags */
BOOL Immediate;
BOOL Repeat;
BOOL DelayedImmed;
BOOL pad_word2;
/* offset */
ULONG StartSample;
ULONG EndSample;
/* private data */
struct Process *PlayerProc;
struct MsgPort *PlayerPort;
/* for STM_STOP (doubleclick) */
struct timeval LastClick;
/* DTM_SELECT */
WORD MinX;
WORD MaxX;
BOOL MarkMode;
/* controlpanel */
WORD pad_word;
WORD TapeDeckHeight;
BOOL ControlPanel;
struct Gadget *TapeDeckGadget;
struct Gadget *VolumeSlider;
struct Gadget *ActiveMember;
struct Screen *Screen; // DTM_DRAW
struct DrawInfo *DrawInfo; // DTM_DRAW
struct Window *Window;
struct Requester *Requester;
struct Gadget *Gadget;
struct ColorMap *ColorMap; // Needed to release allocated pens, GInfo of DTM_REMOVEDTOBJECT == NULL
WORD WaveformPen; // Drawing pens
WORD BackgroundPen;
BOOL ForceRefresh; // bugfix (?) for gmv
};
/****************************************************************************/
struct ObjectMsg {
struct Message Message;
ULONG Command;
APTR Data;
// ULONG ErrorCode;
};
enum {
COMMAND_INIT,
COMMAND_EXIT,
COMMAND_PLAY,
COMMAND_STOP,
COMMAND_PAUSE,
COMMAND_PERVOL,
COMMAND_NEXT_BUFFER
};
/****************************************************************************/